package controller

import (
	"chitchat_http/server"
	"chitchat_http/util"
	"fmt"
	"github.com/doujunyu/gogo/job"
	"math/rand"
	"time"
)







// +--------------------------------------------------------
// +用户管理
// +--------------------------------------------------------

// +--------------------------------------------------------
// +歌曲功能
// +--------------------------------------------------------

// SystemByMusicAdd 添加歌曲
func SystemByMusicAdd(j *job.Job){
	if j.Input["title"] == "" {
		j.JsonError(nil,"歌曲名称不能为空")
		return
	}
	authorId := util.StringToInt64(j.Input["author_id"])
	if authorId == 0 {
		j.JsonError(nil,"歌曲作者不能为空")
		return
	}
	teamId := util.StringToInt64(j.Input["team_id"])

	files := make(map[string]interface{})
	files["size"] = int64(1024 * 1024 * 20)
	files["name"] = time.Now().Format("2006-01-02-15-04-05") + fmt.Sprintf("%v", rand.Intn(10000))
	files["suffix"] = "mp3"
	filePath := "common"
	if j.Input["path"] != "" {
		filePath = j.Input["path"]
	}
	file, err := j.InputFile("file", filePath, files)
	if err != nil {
		j.JsonError(nil, err.Error())
		return
	}
	//j.JsonSuccess(file, "上传成功")
	//return

	err = server.MusicByAdd(j.Input["title"],authorId,teamId,file)
	if err != nil {
		j.JsonError(nil, err.Error())
		return
	}
	j.JsonSuccess()
	return

}

//SystemByMusicByAuthorList 歌曲作者列表
func SystemByMusicByAuthorList(j *job.Job){
	data := server.SystemByMusicByAuthorList(0,j.Input["page"],j.Input["page_size"])
	if len(data) == 0 {
		j.JsonSuccess()
		return
	}
	j.JsonSuccess(data)
	return
}

// SystemByMusicByAuthorAdd 歌曲作者添加
func SystemByMusicByAuthorAdd(j *job.Job){
	if j.Input["name"] == "" {
		j.JsonError(nil,"作者不能为空")
		return
	}
	err := server.SystemByMusicByAuthorAdd(0,j.Input["name"])
	if err != nil {
		j.JsonError(nil,err.Error())
		return
	}
	j.JsonSuccess()
	return
}
// SystemByMusicByAuthorEdit 歌曲作者编辑
func SystemByMusicByAuthorEdit(j *job.Job){
	if j.Input["id"] == "" {
		j.JsonError(nil,"请确认需要修改的数据")
		return
	}
	if j.Input["name"] == "" {
		j.JsonError(nil,"作者不能为空")
		return
	}
	err := server.SystemByMusicByAuthorEdit(util.StringToInt64(j.Input["id"]),0,j.Input["name"])
	if err != nil {
		j.JsonError(nil,err.Error())
		return
	}
	j.JsonSuccess()
	return
}
// SystemByMusicByAuthorDel 歌曲作者删除
func SystemByMusicByAuthorDel(j *job.Job){
	if j.Input["id"] == "" {
		j.JsonError(nil,"请确认需要修改的数据")
		return
	}
	err := server.SystemByMusicByAuthorDel(util.StringToInt64(j.Input["id"]),0)
	if err != nil {
		j.JsonError(nil,err.Error())
		return
	}
	j.JsonSuccess()
	return

}

// SystemByMusicByTeamList 乐队列表
func SystemByMusicByTeamList(j *job.Job){
	data := server.SystemByMusicByTeamList(0,j.Input["page"],j.Input["page_size"])
	if len(data) == 0 {
		j.JsonSuccess(data)
		return
	}
	j.JsonSuccess(data)
	return
}
// SystemByMusicByTeamAdd 乐队添加
func SystemByMusicByTeamAdd(j *job.Job){
	if j.Input["name"] == "" {
		j.JsonError(nil,"乐队不能为空")
		return
	}
	err := server.SystemByMusicByTeamAdd(0,j.Input["name"])
	if err != nil {
		j.JsonError(nil,err.Error())
		return
	}
	j.JsonSuccess()
	return
}
// SystemByMusicByTeamEdit 乐队编辑
func SystemByMusicByTeamEdit(j *job.Job){
	if j.Input["id"] == "" {
		j.JsonError(nil,"请确认需要修改的数据")
		return
	}
	if j.Input["name"] == "" {
		j.JsonError(nil,"乐队不能为空")
		return
	}
	err := server.SystemByMusicByTeamEdit(util.StringToInt64(j.Input["id"]),0,j.Input["name"])
	if err != nil {
		j.JsonError(nil,err.Error())
		return
	}
	j.JsonSuccess()
	return
}
// SystemByMusicByTeamDel 乐队删除
func SystemByMusicByTeamDel(j *job.Job){
	if j.Input["id"] == "" {
		j.JsonError(nil,"请确认需要修改的数据")
		return
	}

	err := server.SystemByMusicByTeamDel(util.StringToInt64(j.Input["id"]),0)
	if err != nil {
		j.JsonError(nil,err.Error())
		return
	}
	j.JsonSuccess()
	return

}


